﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;

using GameFrameLibrary.Frames;

namespace Prism.Games.GalEngine.Scripts.Parser
{
    public class GalUIFrame
    {
        public GalUIFrame()
        {
            //Load Frames
            var trademarkFrame = new TrademarkFrame();
            var menuFrame = new MenuFrame();
            var gamingFrame = new GamingFrame();
            var loader = new LoadFrame();
            var saver = new SaveFrame();
            var config = new ConfigFrame();
            var banner = new MessageBannerFrame();
            var log = new LogFrame();
            var video = new VideoFrame();
            var animations = new AnimationBase();
            var loading = new LoadingFrame();

            TrademarkFrame = trademarkFrame;
            MenuFrame = menuFrame;
            GamingFrame = gamingFrame;
            LoadFrame = loader;
            SaveFrame = saver;
            ConfigFrame = config;
            MessageBannerFrame = banner;
            LogFrame = log;
            VideoFrame = video;
            LoadingFrame = loading;
            Animations = animations;
        }

        public object TrademarkFrame { get; set; }

        public object MenuFrame { get; set; }

        public object GamingFrame { get; set; }

        public object VideoFrame { get; set; }

        public object LoadFrame { get; set; }

        public object SaveFrame { get; set; }

        public object ConfigFrame { get; set; }

        public object Animations { get; set; }

        public object MessageBannerFrame { get; set; }

        public object LogFrame { get; set; }

        public object LoadingFrame { get; set; }

        public List<object> GetFrames()
        {
            var list = new List<object>();

            //list.Add(this.Animations);
            list.Add(this.ConfigFrame);
            list.Add(this.GamingFrame);
            list.Add(this.LoadFrame);
            list.Add(this.LogFrame);
            list.Add(this.MenuFrame);
            list.Add(this.MessageBannerFrame);
            list.Add(this.SaveFrame);
            list.Add(this.TrademarkFrame);
            list.Add(this.VideoFrame);
            list.Add(this.LoadingFrame);

            return list;
        }
    }
}
